前面幾篇整理了常見的三種敏捷開發方式
但究竟要使用哪一種方式呢?
我們來比較一下
Scrum | XP |
---|---|
致力在建立自己團隊內好的流程結構 | 致力在創建好的系統 |
比較容易開始,因為只是需要將Scrum規則導入 | 較難入門,因尚須導入Pair Programming、TDD...等觀念 |
相對難精通,Fail的話會是無聲無息的結束 | 較容易精通,Fail時比較會是很激烈的爭執 |
每次循環的週期時間約2-4週 | 每次循環的週期時間約1-2週 |
只要Sprint啟動,中間項目就不得更動 | 只要團隊還沒執行到該項目,該項目就是可被更動的 |
Product Owner會提供優先順序,但會綜合團隊擁有的點數做最後的排序 | 開發有嚴格的先後順序 |
沒有規定程式開發的工程 | 有要求要有相對的開發工程,例如Pair Programming、TDD、Simple Design、Refactoring....等等 |
Scrum Board | Kanban |
---|---|
主要是開發端的事情,有可能走完了但故事還沒完成 | 整個脈絡故事中從0到1所有價值有加成的活動 |
範圍比較小,主要是開發端的流程 | 範圍比較大,包含整個流程,相較完整 |
是指內部成員要做的細項 | 是整個故事的開發流程 |
每一張便利貼是代表一個Task任務 | 每一張便利貼是代表一個Story故事 |
會為成員分類角色 | 團隊中的每個成員並沒有特定角色 |
有Iteration的概念 | Flow-Base的概念 |
在Sprint開始後不允許改變或更動 | 可接受改變,持續改善才是重點 |
適合有排定優先順序且不太會變動需求的團隊運行 | 適合需要彈性變化優先順序的團隊開發 |
至於XP與Kanban的比較呢~沒有那麼相似與直接,當然概念上都是敏捷的精神,但是操作手法上的重點很不相同,就不特別表列了!
在團隊中究竟適合何種開發方法?我覺得要評估以下幾點:
當然也有遇過一些是混合的,他們沒有真正完全選擇一種方式,而是更挑一點他們覺得好用的、習慣的方法來實行,這不妨也是個方式呢!
參考資料、延伸閱讀:
下集預告:Lean 精實開發